package ai.people.netmon.userconfig.service;

import ai.people.netmon.framework.domain.userconfig.entity.UserCollectConfigAccount;
import ai.people.netmon.framework.domain.userconfig.request.AccountQueryRequest;
import ai.people.netmon.framework.model.response.PageResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * （监测系统）用户配置采集账号表 服务类
 * </p>
 *
 * @author zhenglin
 * @since 2022-02-28
 */
public interface UserCollectConfigAccountService extends IService<UserCollectConfigAccount> {

    /**
     * 分页查询
     *
     * @param request 请求
     * @return {@link PageResponse}<{@link UserCollectConfigAccount}>
     */
    PageResponse<UserCollectConfigAccount> pageQuery(AccountQueryRequest request);

    /**
     * 通过id获取帐户
     *
     * @param id id
     * @return {@link UserCollectConfigAccount}
     */
    UserCollectConfigAccount getAccountById(Long id);

    /**
     * 保存账户
     *
     * @param account 账户
     */
    void saveAccount(UserCollectConfigAccount account);

    /**
     * 批量保存账户
     *
     * @param list 列表
     */
    void saveAccountBatch(List<UserCollectConfigAccount> list);

    /**
     * 更新账号
     *
     * @param account 账号
     */
    void updateAccount(UserCollectConfigAccount account);

    /**
     * 通过id删除账号
     *
     * @param id id
     * @return boolean
     */
    void delAccountById(Long id);

}
